/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package edu.Ufes.exeSwing.Control;

import edu.Ufes.exeSwing.Entity.Agencia;
import edu.Ufes.exeSwing.Persistence.PersistenciaAgencia;
import java.util.TreeSet;
import javax.swing.JOptionPane;

/**
 *
 * @author bhetynnacatalunha
 */
public class ControlAgencia{
    
    public boolean salvarAgencia(String pCodigo, String pCidade, String pUF){
        boolean retorno = false;
        Agencia a = new Agencia(pCodigo, pCidade, pUF);
        PersistenciaAgencia p = new PersistenciaAgencia();
        try{
            TreeSet<Agencia> agencias = p.recuperarAgencias();
            agencias.add(a);
            if(p.salvarAgencia(agencias)){
                retorno = true;
            }
        }catch(Exception e){
            JOptionPane.showMessageDialog(null, "Ocorreu um erro:\n" + e.getMessage());
        }
        return retorno;
    }
    
    public TreeSet<Agencia> recuperarAgencias(){
        TreeSet<Agencia> listaDeAgencias = null;
        PersistenciaAgencia p = new PersistenciaAgencia();
        try{
            listaDeAgencias = p.recuperarAgencias();
        }catch(Exception e){
            JOptionPane.showMessageDialog(null, "Ocorreu um erro:\n" + e.getMessage());
        }
        return listaDeAgencias;
    }
    public boolean removeAgencia(String pCodigo){
        boolean retorno = false;
        TreeSet<Agencia> agencias = new TreeSet<Agencia>();
        PersistenciaAgencia p = new PersistenciaAgencia();
        agencias = p.recuperarAgencias();
        Agencia a;
        a = p.buscaAgencia(pCodigo);
        agencias.remove(a);
        if(p.salvarAgencia(agencias)){
            retorno = true;
        }
        return retorno;
    }
    public boolean editarAgencia(Agencia pAgencia, String pCodigo){
        boolean retorno = false;
        PersistenciaAgencia p = new PersistenciaAgencia();
        TreeSet<Agencia> agencias = p.recuperarAgencias();
        Agencia  a = p.buscaAgencia(pCodigo);
        agencias.remove(a);
        agencias.add(pAgencia);
        if(p.salvarAgencia(agencias)){
            retorno = true;
        }
        
        return retorno;
    }
    
    public Agencia buscarAgencia(String pCodigo){
        Agencia a = null;
        PersistenciaAgencia p = new PersistenciaAgencia();
        a = p.buscaAgencia(pCodigo);
        return a;
    }
}
